For many devices, external memory bandwidth may determine overall performance of a system. Memory bandwidth may relate to an amount of data which may be communicated relative to memory. Memory access for a dynamic random access memory (DRAM) for example, may be limited to a burst length that defines the access requests to a memory. The size of a memory bursts and access rate can effect bandwidth. Access to the memories, such as a DRAM memory may be limited by the memory data width and bursts lengths defining memory access.
For conventional image processing devices many conventional devices typically store image data in external memory as two-dimensional arrays, similar to eventual display of an image. Access to image data based on the conventional arrangement of data in memory can increase demands of external memory bandwidth resulting in overhead of memory. Overhead generated by access to data, such as image data, may lead to delayed processing speed, loading of unnecessary data, and a potentially a bandwidth burden.
Conventional methods of writing data to memory typically structure memory entry with boundaries, wherein data may be aligned with a boundary. However, in many cases access to memory entries may not be aligned to boundaries. FIG. 1 illustrates a graphical representation of reference data blocks employed by conventional methods and devices for memory access. Memory segment 100 includes a plurality of segments, shown as 1051-n, wherein the segments may be separated by boundaries 110. Typically, conventional methods read data from memory by a block of values shown as 115. In order to read a block of five pixels over four lines, shown by 120 of memory segment 100, one block must be read for eight pixels per line with a total of four lines. When desired data is not aligned with a boundary, such as boundary 130 and data shown by 135 of segment 125, blocks of data are required to be read from segments 1401 and 140n. As a result, the amount of memory required for accessing the data is doubled, resulting in a 100% increase in overhead. Memory overhead may further worsen when memory blocks are reduced in size using the conventional methods.
Accessing data from a memory may additionally create bandwidth burden when non-boundary aligned requests are made repeatedly. Conventional methods and devices typically perform memory access requests for data despite recent or previous memory requests. As a result, bandwidth requirements of the memory requests can reduce overall system performance. Accordingly, there is a need in the art for improved memory access which overcomes one or more of the aforementioned drawbacks.